package com.jt.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @author 金帮嘉诚 @date 2021-08-14 星期六 16:59
 * 创建配置类
 * 在BasePojo中添加@TableField注解
 * 实现 创建和更新时 自动插入 created 和updated
 * 注意 这个类主要是用来插入各个表中 公共的 都含有的字段
 */
@Component//将对象交给Spring容器管理
public class MyMetaObjectHandler implements MetaObjectHandler {
    //当数据库做新增操作时 自动调用 API调用
    //metaObject对象 是MP自动填充的配置 有默认行为
    @Override
    public void insertFill(MetaObject metaObject) {
        //当前时间
        Date date = new Date();
        this.setFieldValByName("created", date, metaObject);
        this.setFieldValByName("updated", date, metaObject);
    }

    //数据库修改操作时 自动调用
    @Override
    public void updateFill(MetaObject metaObject) {
        Date date = new Date();
        this.setFieldValByName("updated", date, metaObject);
    }


}
